#include "MsgUtils.h"
#include <stdio.h>

//创建消息队列
int getMsgQueue(char *pathName,int processId)
{
    //创建key
    key_t key = ftok(pathName, processId);
    if (key == -1)
    {
        perror("create key error!");
        return -1;
    }

    //获取队列
    int msg_id = msgget(key, IPC_CREAT | 0666);
    if (msg_id == -1)
    {
        perror("get msg_id error!");
        return -1;
    }
    
    return msg_id;
    
}

//发消息
int sendMsg(int mqId,Message* msg,int msgSize)
{
    //准备需要发送的数据
    int send_msg = msgsnd(mqId, msg, msgSize, 0);
    if (send_msg == -1)
    {
        perror("send msg error!");
        return -1;
    }

    return send_msg;

}

// 收消息
int recvMsg(int mqId,Message* msg,int msgSize)
{
    //接受发送过来的数据
    int ret = msgrcv(mqId, msg, msgSize, 0, 0);
    if (ret == -1)
    {
        perror("recv msg error!");
        return -1;
    }
    return ret;
}
